package lv.clientedisqueria.model.grupo;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import lv.clientedisqueria.model.DisqueriaTablaModelo;
import lv.mensajeriadisqueria.idomain.IGrupo;

@SuppressWarnings("serial")
public class GrupoTablaModel extends DisqueriaTablaModelo<IGrupo>{

	private static String[] columns = new String[]{"Nombre"};
	public GrupoTablaModel(final GrupoModel grupoModel){
		super(grupoModel, columns);
	}
	
	@Override
	protected void ordenar(List<IGrupo> lista) {
		Collections.sort(getDomains(), new Comparator<IGrupo>() {
			@Override
			public int compare(IGrupo grupo1, IGrupo grupo2) {
				return grupo1.getNombre().compareToIgnoreCase(grupo2.getNombre());
			}
		});
	}

	@Override
	protected Object valor(int rowIndex, int columnIndex) {
		if(columnIndex == 0) {
			return getDomains().get(rowIndex).getNombre();
		} 
		return null;
	}

	@Override
	protected void modificarEntity(IGrupo oldGrupo, IGrupo newGrupo) {
		oldGrupo.setNombre(newGrupo.getNombre());
	}

	@Override
	public void actualizarTabla() {
		if (getSeleccionado().getIdGrupo() == null) {
			remover();
		}		
	}

}